1. Statement of the Technical Field
The present invention relates to the field of data caching and more particularly to object data caching in an application server.
2. Description of the Related Art
In the technical field of object oriented computing, the composite values of all attributes and links held by an object instance can represent the identity of the object instance. Notably, the state of an object instance can be derived from this identity. Also, external events can cause the state of an object instance to change. In that regard, the transition from one object instance state to another can be modeled as a finite state machine whose transitions can occur essentially in an instantaneous manner.
The command design pattern has been used to build object instances whose behavior can vary depending upon the type of the object. In particular, in the command design pattern, the behavior of an object instance can vary while the interface can remain constant. Often in the command design pattern, a single method can be provided in the object instance which can be invoked by the same name, regardless of the implementation of the interface. In consequence, those who would implement the command design pattern would do so to maintain the state of an object instance.
Like other data and processing elements of a distributed computer program, the state of an object instance can be cached when the object has been deployed through an application server. Specifically, one can instrument an object for caching within the object cache of an application server. Also, one can code an application server to perform object state caching. Still, to instrument an object for caching would require access to the source code of the object. Additionally, including caching as part of the functionality of an object which has implemented the command design pattern would stray from the intent and specification of the command design pattern.
Similarly, to configure an application server to specifically undertake caching of the state of an object instance can require access to the source code of the application server. Additionally, to the extent that a distributed application requires specific cache processing, every possible application server which might deploy the distributed application would require retooling. Yet, different distributed applications might require different caching logic. Given the possibility of multiple object caching schemas for different distributed applications, it would not be feasible to incorporate multiple caching configurations across multiple application servers.